When the user interface of a piece of software undergoes significant change, all corresponding tests of the software have to be updated to reflect the changes.
Commonly software testing is repetitive and involves execution of large numbers of test script documents. These documents, and subsequent automated recordings, share many common flows, for example, setting up the application under test (e.g., launch log in) and filling out forms (e.g., create customer account).
Traditional test automation via record-playback techniques misleads many testers into recording separately each instance of a common flow found in the many test script documents leading to significant content duplication. Moreover, updating content duplication reflecting software changes requires separate re-recording of each instance of such an automated flow. Content duplication renders traditional test automation via record-playback tedious, prone to human error, and generally inefficient. This inefficiency is the root cause that prevents the majority of software testers in the Enterprise IT marketplace from sustaining automation across multiple software releases.
Conventional test automation frameworks are an alternative. These include keyword driven approaches and require large upfront investment before yielding any return on investment.
Thus a new method and framework for test automation is needed that allows both efficient use of common flows and low upfront investment costs, as well as accessibility to less technical users.